package com.travelshare.business.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.travelshare.common.annotation.Excel;
import com.travelshare.common.core.domain.BaseEntity;

/**
 * 文章内容详情对象 tb_column_detail
 * 
 * @author travelshare
 * @date 2024-02-22
 */
public class ColumnDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 文章id */
    private Long detailId;

    /** 栏目id */
    @Excel(name = "栏目id")
    private Long columnId;

    /** 标题 */
    @Excel(name = "标题")
    private String title;

    /** 图片路径 */
    private String picPath;

    /** 内容 */
    private String content;
    
    private String picContent;

    /** 发布时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date releaseTime;

    /** 文章来源 */
    @Excel(name = "文章来源")
    private String comeForm;

    /** 用户id */
    private Long userId;

    /** 是否置顶（0 否 1 是） */
    @Excel(name = "是否置顶", readConverterExp = "0=,否=,1=,是=")
    private Integer isTop;

    /** 是否推荐（0 否 1 是） */
    @Excel(name = "是否推荐", readConverterExp = "0=,否=,1=,是=")
    private Integer isShare;
    
    private Integer isLbt;

    /** 阅读量 */
    @Excel(name = "阅读量")
    private Integer clickNum;

    /** 状态（N 草稿、Y 发布） */
    @Excel(name = "状态", readConverterExp = "N=,草=稿、Y,发=布")
    private String state;

    /** 删除标志（0代表存在 2代表删除） */
    @JsonIgnore
    private String delFlag;
    
    @JsonIgnore
	private String cacheId;
	
	private String columnName;

	@JsonIgnore
	private Long userIds;
	
	private Long collectFlag;
	
	private String isIndex;
	private String isPic;
	
	public String getIsPic() {
		return isPic;
	}

	public void setIsPic(String isPic) {
		this.isPic = isPic;
	}

	public String getPicContent() {
		return picContent;
	}

	public void setPicContent(String picContent) {
		this.picContent = picContent;
	}

	public String getIsIndex() {
		return isIndex;
	}

	public void setIsIndex(String isIndex) {
		this.isIndex = isIndex;
	}

	public Integer getIsLbt() {
		return isLbt;
	}

	public void setIsLbt(Integer isLbt) {
		this.isLbt = isLbt;
	}

	public Long getCollectFlag() {
		return collectFlag;
	}

	public void setCollectFlag(Long collectFlag) {
		this.collectFlag = collectFlag;
	}

	public Long getUserIds() {
		return userIds;
	}

	public void setUserIds(Long userIds) {
		this.userIds = userIds;
	}

    public String getColumnName() {
		return columnName;
	}

	public void setColumnName(String columnName) {
		this.columnName = columnName;
	}

	public String getCacheId() {
		return "detail_" + columnId + "_" + detailId;
	}

	public void setDetailId(Long detailId) 
    {
        this.detailId = detailId;
    }

    public Long getDetailId() 
    {
        return detailId;
    }
    public void setColumnId(Long columnId) 
    {
        this.columnId = columnId;
    }

    public Long getColumnId() 
    {
        return columnId;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setPicPath(String picPath) 
    {
        this.picPath = picPath;
    }

    public String getPicPath() 
    {
        return picPath;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setReleaseTime(Date releaseTime) 
    {
        this.releaseTime = releaseTime;
    }

    public Date getReleaseTime() 
    {
        return releaseTime;
    }
    public void setComeForm(String comeForm) 
    {
        this.comeForm = comeForm;
    }

    public String getComeForm() 
    {
        return comeForm;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setIsTop(Integer isTop) 
    {
        this.isTop = isTop;
    }

    public Integer getIsTop() 
    {
        return isTop;
    }
    public void setIsShare(Integer isShare) 
    {
        this.isShare = isShare;
    }

    public Integer getIsShare() 
    {
        return isShare;
    }
    public void setClickNum(Integer clickNum) 
    {
        this.clickNum = clickNum;
    }

    public Integer getClickNum() 
    {
        return clickNum;
    }
    public void setState(String state) 
    {
        this.state = state;
    }

    public String getState() 
    {
        return state;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("detailId", getDetailId())
            .append("columnId", getColumnId())
            .append("title", getTitle())
            .append("picPath", getPicPath())
            .append("content", getContent())
            .append("releaseTime", getReleaseTime())
            .append("comeForm", getComeForm())
            .append("userId", getUserId())
            .append("isTop", getIsTop())
            .append("isShare", getIsShare())
            .append("clickNum", getClickNum())
            .append("state", getState())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
